Weathering

Broadly, weathering is the process by which minerals are broken down. Weathering is an important part of Earth’s biogeochemical cycles, is the primary force in soil formation, and is responsible for many of the common constituents found in streamflow, including key contaminants. For this assignment we will be comparing two watersheds to see which of them is weathering more rapidly.

If you love all the video content this course provides and want even more here is a (totally optional) overview of weathering by Crash Course.

Chemical vs physical

There are two kinds of weathering and water is top level control on both.

Physical weathering is the mechanical breakdown of minerals via physical force. A simple example of physical weathering is runoff water picking up and carrying soil into a nearby river. Physical weathering can be carried out by any number of vectors: wind, water, freezing and thawing, tectonic shifts, etc. Watershed scientists sometimes use total suspended soils (TSS) or something similar as an imperfect proxy for this. The USGS is working on the next generation of suspended soil detection using acoustic methods. If you want to learn more you can read about it here.

Physical weathering is often the first steps in complete weathering of a mineral. With many of the later steps occurring chemically.

Chemical weathering is the reaction and dissolution of minerals. Water is a key player here because it acts as an acid, a base, and a medium for dissolution. Water can act as an acid, splitting chemical bonds or as a redox agent. Water plays a particularly key role in chemical weathering, the convection of dissolved materials. As you learned in the thermodynamics unit, once a reaction reaches equilibrium it has no further net change. Water constantly flowing through rock and soil carries away dissolved consitutents, keeping weathering reactions from ever reaching equilibrium. There are myriad ways minerals are weathered chemically and each can be sensitive to other environmental factors (more on that in a bit). In order to get at chemical weathering rates, watershed scientists will look at particular rock-derived solutes.

Rock derived solutes

Many common dissolved constituents of stream water are weathered from rock. Some of these, like calcium, sodium, potassium, manganese, and phosphorus, are nutrients needed to sustain life. Others, like aluminum, are toxic to life. All are found in their dissolved form due, primarily, to chemical weathering.

Most Abundant Element Approximate % by Weight
O 46.60
Si 27.70
Al 8.10
Ca 5.00
Na 3.70
K 2.60
Mg 1.50
Ti 0.44
P 0.10

Table of elemental composition of the Earth’s crust. Source: Wikipedia contributors. ‘Earth’s crust.’ Wikipedia, The Free Encyclopedia, 20 Feb. 2022. Web. 3 Mar. 2022.

Flux II: Return of the Flux

In our last R assignment (Gas Flux) we calculated the flux of methane off of the Yahara River. In this assignment we will be looking at a different kind of flux: solute flux from a watershed (often called ‘export’). Fluxes from terrestrial watersheds are snapshots a key linkage in global biogeochemical cycles, connecting land, freshwaters, and the ocean.

We can calculate solute flux much more easily than gas flux. This is because instead of grasping weakly at an estimate for transfer velocity (k) we just get to use discharge, something we are generally good at measuring. Likewise, where before the system was the river and the surroundings were the air, we now are considering the watershed itself to be the system and everything downstream of it the surroundings. The equation for an instantaneous solute flux (like a snapshot in time or a single point estimate) is:

\(Flux = (Q*[X])/A\)

Where ‘Q’ is discharge, ‘[X]’ is the concentration of a solute, and ‘A’ is the watershed area. Fluxes are usually reported in a mass per time per area.

Scientists and managers are often interested in the total flux over a period of time.The equation for solute flux over a given period is:

\(Flux = \sum_{t=1}^{t_x} (Q*[X])/A\)

Where ‘t’ is time. It’s important to consider the time step of an instantaneous flux before scaling it up to a larger time step.

Does solute flux == weathering?

When thinking about solute fluxes as a proxy for weathering rates we need to be careful. While many solutes are originally derived from rock, they may come from other sources on short enough timescales.

  • Anthropogenic: Humans can add solutes in many forms. For example, phosphorus is often used as a fertilizer and in de-icers for roadways.

  • Biologic: Solutes concentrations may also be affected by biological demand. Manganese is an important nutrient, meaning plants are actively trying to take it up.

  • Atmospheric: Dust and rain can deposit materials weathered elsewhere into the watershed. This term used to describe these effects ‘deposition’, with dust as ‘dry deposition’ and rain, snow, etc. as ’wet deposition. For example, sites near the coast may experience heavy sodium deposition from sea spray.

  • Complexation: As you learned in the Acid Rain assignment, some solutes (like aluminum) have solubilities that depend on the surrounding redox state or pH.

An ideal solute for estimating weathering rates will either not experience any of these factors or do so in a predictable way.

Let’s take a look at the precipitation chemistry from the study site we’ll be using today.

Note how some solutes come in regularly from rain, some episodically, and some only rarely.

Importance over human timescales

Weathering, and the solute fluxes derived from it, are deeply important on the human (less than ~100 year) timescale. At it most basic level, weathering rates determine the baseline concentrations of many key solutes for human and aquatic health. They also represent a key indicator of soil health, showing land managers which elements are being used efficiently by plants and which are going to waste. Weathering rates also control the availability of phosphorus in natural systems, acting as an extended control on plant growth.

Importance over geologic timescales

Over geologic time (millions to billions of years) weathering plays a critical role in many biogeochemical processes. For example, calcium weathered from rock eventually reacts with dissolved bicarbonate to form calcium carbonate, the mineral sand and shells are made from. Remember from the acidity and alkalinity unit that bicarbonate is largely formed from dissolved, atmospheric carbon dioxide. This cycle of greater weathering leading to more buried carbon acts a stabilizing feedback loop for the earth climate system.

Conceptual diagram of stablizing weathering-climate feedback loop. Frings, Patrick J. ; Palaeoweathering: How Do Weathering Rates Vary with Climate?. Elements 2019;; 15 (4): 259–265. doi: https://doi.org/10.2138/gselements.15.4.259

Some researchers are looking into how we can use this effect over more relevant timescales to humanity. You can read more about it in the Taylor et al 2017 publication in the ‘pubs’ folder of this project.

Tips on time series data

When working with data derived from different measurement methods, it’s important to make sure our data is the same frequency. Some data, like discharge data provided by the USGS is at 15 minutes. The greenhouse gas data you worked with in the Gas Flux assignment was >1Hz. On the other hand, many studies only collect water chemistry every two weeks.

When performing calculations with data of differing frequencies, it’s important to carefully consider what effect we are trying to capture. Let’s quickly calculate the weekly flux of nitrate and nitrite past a gauge in an Indiana farm field.

First I’ll grab the data and plot it.

q <- readNWISuv(siteNumbers = '03353420',
                parameterCd = '00060',
                startDate = '2020-07-01',
                endDate = '2020-07-07',
                tz = 'EST') %>%
  select(datetime = dateTime, q_cfs = X_00060_00000)

n <- readNWISdv(siteNumbers = '03353420',
                parameterCd = '99133',
                startDate = '2020-07-01',
                endDate = '2020-07-07') %>%
  select(datetime = Date, nox_mgl = X_99133_00003)

data <- q %>%
  full_join(n, by = 'datetime')

Let’s take a look at the first couple of rows.

head(data)
##              datetime q_cfs nox_mgl
## 1 2020-07-01 00:00:00  2.35    4.14
## 2 2020-07-01 00:15:00  2.35      NA
## 3 2020-07-01 00:30:00  2.35      NA
## 4 2020-07-01 00:45:00  2.28      NA
## 5 2020-07-01 01:00:00  2.28      NA
## 6 2020-07-01 01:15:00  2.28      NA

There are a lot of NAs for out nitrogen data! Is there a pattern to when they match?

data %>%
  na.omit()
##       datetime q_cfs nox_mgl
## 1   2020-07-01  2.35    4.14
## 97  2020-07-02  1.45    3.90
## 193 2020-07-03  0.85    3.62
## 289 2020-07-04  0.68    3.34
## 385 2020-07-05  0.57    3.04
## 481 2020-07-06  0.48    2.70
## 577 2020-07-07  0.36    2.58

Indeed they there is! Just once every day. If you carefully read my dataRetrival calls, you’d notice that I pulled 15 minute data for Q and daily data for nitrogen. Now, we want to calculate flux for the week. If we use the NA omitted version of our data (essentially using the closest Q value to each nitrogen measurement), we are throwing out a lot of good information and assuming the nearest Q value is representative of something we already measured. In this case, the best method is to convert our Q from cubic feet per second to liters per 15 minutes, sum our converted Q over each day, and use our daily, summed Q to calculate flux.

Let’s tackle the daily Q first.

q_daily <- q %>%
  mutate(q_L_15min = q_cfs*(900/1)*(1/28.317)) %>%  # convert to L per 15 mins
  group_by(day(datetime)) %>% # group by days
  summarize(q_sum = sum(q_L_15min), # take the sum of all Q on that day
            datetime = as.Date(min(datetime))) %>% # get the date for each Q sum
  select(-`day(datetime)`) # get rid of our grouping column

glimpse(q_daily)
## Rows: 7
## Columns: 2
## $ q_sum    <dbl> 5913.232, 3561.606, 2445.704, 2004.873, 1741.074, 1455.663, 1~
## $ datetime <date> 2020-07-01, 2020-07-02, 2020-07-03, 2020-07-04, 2020-07-05, ~

Great, we now have a really solid estimate of the Q over the days we have nitrate/nitrite data. Now we just need to join it to with that nitrate/nitrite data and calculate flux using the formula in the previous section. Before we calculate flux, we can check to make sure they match in frequency now.

data_daily <- q_daily %>%
  full_join(n, by = 'datetime')

data_daily  
## # A tibble: 7 x 3
##   q_sum datetime   nox_mgl
##   <dbl> <date>       <dbl>
## 1 5913. 2020-07-01    4.14
## 2 3562. 2020-07-02    3.9 
## 3 2446. 2020-07-03    3.62
## 4 2005. 2020-07-04    3.34
## 5 1741. 2020-07-05    3.04
## 6 1456. 2020-07-06    2.7 
## 7 1064. 2020-07-07    2.58

Everything looks good. We have the Q for each day and the daily average nitrate/nitrite concentration for that day. All that’s left to do is calculate flux for the week!

ws_area_ha <- (readNWISsite('03353420')$drain_area_va)*(258.999/1) # get watershed area and convert from mi2 to ha

data_daily %>%
  mutate(flux_daily = q_sum*nox_mgl) %>%
  .$flux_daily %>%
  sum()*(1/(1e3*ws_area_ha)) # convert mg/week*ha to g/week*ha
## [1] 0.05412762

We are seeing 0.05 g of NOx per week fluxing past this gauge. This is pretty low for a stream of this size in the middle of a massive swath of agricultural land! That’s beacuse this gauge is located within experimental plots of a conservation cropping study. You can read more about it here..

Assignment

In this assignment, we are going to look at data from the Bear Brook Watershed in Maine (BBWM). The BBWM experiment has been running since the mid 1980s and is broadly focused on investigating how increased nitrogen, sulfur, and acidity affect surface waters and their surrounding watersheds.

In a previous assignment, we looked at how acid rain was changing over time and how it can control aluminum toxicity. The BBWM experiment is essentially testing what would happen if acid rain had continued unabated. BBWM is split into two watersheds, East Bear (EB) and West Bear (WB). EB is an untreated reference watershed. WB had ammonium sulfate dumped onto it on a bimonthly basis from 1989-2016. Ammonium sulfate is essentially a mixture of sulfuric acid (H2SO4) and ammonium (NH4+). This means there are a few things going on in WB:

You can see the watersheds here:

Q1

Before we get too consumed in coding, let’s take a step back.

Part A

Look at the equation for solute flux calculation above. Why do we report fluxes adjusted by area?

Part B

Given the background information above and the controls on weathering covered in lecture, write a brief (1-2 paragraphs) hypothesis about how and why you think weathering rates will differ between EB and WB.

Make sure your answer covers both what you expect to differ and why you think that will be the case.

Part C

Consider the three affects listed in the background section of this assignment (increased nitrogen, sulfur, and acid inputs). For each, give an example of where you might find this condition in the real world. Acid rain from industrial NOx and SOx has been thoroughly covered already, so pick other examples.

Q2

Data loading and manipulation.

Part A

Read in the discharge (Q) and stream chemistry data for both watersheds (see the ‘data’ folder). Combine them into a single data frame and remove the quality assurance flags from the data. Use the function glimpse() to show your final, combined data frame.

(Hint: This is the same Macrosheds data format as the Acid Rain assignment. Go look at that if you are having trouble.)

Part B

Use unique() to show all the variables present in your combined dataset.

Q3

Before we tackle our main question, let’s do some exploratory data analysis (or EDA). This is a common first step when trying to answer a practical or scientific question. Rather than rushing into applying an analysis, we want to get a gestalt understanding of our data.

For our EDA, we will be making some plots. Don’t worry too much about proper labels or titles, as the purpose of these is to inform you, the investigator.

The plots should still be easy to interpret. When in doubt make them too pretty rather than too ugly.

Part A

Let’s say you don’t trust my summary of the experimental manipulation effects. Plot a facet-wrapped time series of pH, total nitrogen, and sulfate in the streams at both sites.

(Hint: The metadata for all Macrosheds data is available in the ‘data/macrosheds_vardata.csv’)

Part B

You don’t know the researchers at BBWM (I assume), so let’s do a quick validation of their lab and measurements.

Make a scatterplot of the ratio of bicarbonate to total dissolved inorganic carbon vs pH at the experimental watershed.

Part C

Does your graph from the previous part make you feel confident in this data? Why or why not? Cite figures or ideas from lectures in your answer.

(Hint: What effect are we observing here, in all its glory?)

Q4

Which watershed is weathering more rapidly?

To answer this question we need to approximate weathering rates at both watersheds. We’ll be calculating annual fluxes of silicon as a proxy for weathering at both sites.

Part A

Why are we using silicon fluxes and not one of the other variables you listed in question 2, part B?

Part B

What is the frequency of the discharge data? What about the frequency of the silicon samples? Do they match? Are there exceptions? Prove it via code. Make sure your output is able to be understood by a person.

(Hint: Look at ‘Tips on time series data’ in the introduction.)

Part C

Calculate the flux of silcon at a daily frequency for both EB and WB. Filter your data to only WY1998-WY2002. Use glimpse() to show your result.

The area of WB is 10.06 ha and the area of EB is 10.76 ha.

Do not remove NAs! We will need those later!

(Hint: The metadata for all Macrosheds data is available in the ‘data/macrosheds_vardata.csv’)

Part D

Plot your new, daily flux timeseries with both line and point geometry on the same plot. Be sure to include appropriate labels, a title, and a descriptive caption. Color your timeseries to match the map in the background section.

Part E

Is our data completely continuous? If not, is there a pattern to the breaks? Why might the good folks at BBWM let those breaks happen? What will happen if we try to calculate an annual flux with this dataset, as is?

(Hint: Look at timeseries of the Q and [Si] separately. Think about the flux formula and how you would spend your research dollars.)

Part F

Let’s interpolate our data to make it continuous. You should be careful about doing this in your own work, but for reasons you (should) have discussed in part E we can do it reasonably safely here. There are many ways to interpolate data (with varying degrees of merit). We will be using a simple one: linear interpolation. Essentially, we are telling R to draw a straight line between observations on either side of a data gap.

To do this, we will use the na.approx() function. The ‘rule’ for linear interpolation is 2.

Create a new column of interpolated flux values for your data.

Part G

Plot your new, interpolated timeseries just like you did for part D.

Part H

Zoom in on the previously gaped parts of your graph. Using such a naive method is… not great. But it’s fine for our purposes and it shouldn’t throw off our annual estimates by much.

We finally have what we need to calculate annual silicon flux for both watersheds. Do so and present your data as you find appropriate in units of kg per ha per year. If you color your data, make sure it sticks to the schema we started earlier.

Your figure or table should clearly answer our question: which watershed hosts the higher weathering rates?

Hints:

  • The function water_year() slickly pulls the WY from a date.

  • If you are struggling check out the work with data primer on Rstudio cloud.

  • Use a caption to explicitly state which watershed has higher weathering rates.

Part I

Consider your two time series (the one with gaps and the interpolated one) and your annual estimates. Do you think your annual flux estimates are biased high, low, or are perfect? Why do you think that?

Does this affect your conclusion from the previous part? Why or why not?

Bonus

Go take a look at the Gaillardet et al 1999 paper in the ‘pubs’ folder of this project. This paper is super dense, so don’t try to understand every bit of it. A good method for gleaming understanding from scary papers is to read the abstract, conclusions, and figures. Before we go any further, please give the paper a hearty skim.

Part A

One way Gaillardet and his co-authors understand solute fluxes in large rivers of the world is through mixing ratios. The basic idea is that differing parent materials (rocks that underlay soils) have different elemental compositions that in turn yield identifiable solute flux signatures.

Recreate figure 2 from the paper for BBWM, with each year of record at EB/WB as a point. Color your data by site and include a 1:1 reference line.

Part B

What do your mixing ratio plots indicate is the underlying parent material of BBWM?

Part C

What may be skewing our diagram and how could we correct it with additional data?

(Hint: Think about where BBWM is and how mixing ratios are calculated. Are there any potential non-weathering sources around?)